<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
                xmlns:html="http://www.w3.org/TR/REC-html40"
                xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
                xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
                xmlns:xhtml="http://www.w3.org/1999/xhtml"
                xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <title>XML Sitemap</title>
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
                <style type="text/css">
                    body {
                        font-family: Inter, Helvetica, Arial, sans-serif;
                        font-size: 14px;
                        color: #333;
                    }

                    table {
                        border: none;
                        border-collapse: collapse;
                    }

                    .bg-yellow-200 {
                        background-color: #fef9c3;
                    }

                    .p-5 {
                        padding: 1.25rem;
                    }

                    .rounded {
                        border-radius: 4px;
                    }

                    .shadow {
                        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
                    }

                    #sitemap tr:nth-child(odd) td {
                        background-color: #f8f8f8 !important;
                    }

                    #sitemap tbody tr:hover td {
                        background-color: #fff;
                    }

                    #sitemap tbody tr:hover td, #sitemap tbody tr:hover td a {
                        color: #000;
                    }

                    .expl a {
                        color: #398465
                        font-weight: 600;
                    }

                    .expl a:visited {
                        color: #398465
                    }

                    a {
                        color: #000;
                        text-decoration: none;
                    }

                    a:visited {
                        color: #777;
                    }

                    a:hover {
                        text-decoration: underline;
                    }

                    td {
                        font-size: 12px;
                    }

                    .text-2xl {
                        font-size: 2rem;
                        font-weight: 600;
                        line-height: 1.25;
                    }

                    th {
                        text-align: left;
                        padding-right: 30px;
                        font-size: 12px;
                    }

                    thead th {
                        border-bottom: 1px solid #000;
                    }
                    .fixed { position: fixed; }
                    .right-2 { right: 2rem; }
                    .top-2 { top: 2rem; }
                    .w-30 { width: 30rem; }
                    p { margin: 0; }
                    li { padding-bottom: 0.5rem; line-height: 1.5; }
                    h1 { margin: 0; }
                    .mb-5 { margin-bottom: 1.25rem; }
                    .mb-3 { margin-bottom: 0.75rem; }
                </style>
            </head>
            <body>
                <div style="grid-template-columns: 1fr 1fr; display: grid; margin: 3rem;">
                    <div>
                        <div id="content">
                            <h1 class="text-2xl mb-3">XML Sitemap</h1>
                            <h2>@bloggrify/core</h2>

                            <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
                                <p class="expl" style="margin-bottom: 1rem;">
                                    This XML Sitemap Index file contains
                                    <xsl:value-of select="count(sitemap:sitemapindex/sitemap:sitemap)"/> sitemaps.
                                </p>
                                <table id="sitemap" cellpadding="3">
                                    <thead>
                                        <tr>
                                            <th width="75%">Sitemap</th>
                                            <th width="25%">Last Modified</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <xsl:for-each select="sitemap:sitemapindex/sitemap:sitemap">
                                            <xsl:variable name="sitemapURL">
                                                <xsl:value-of select="sitemap:loc"/>
                                            </xsl:variable>
                                            <tr>
                                                <td>
                                                    <a href="{$sitemapURL}">
                                                        <xsl:value-of select="sitemap:loc"/>
                                                    </a>
                                                </td>
                                                <td>
                                                    <xsl:value-of
                                                        select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)),concat(' ', substring(sitemap:lastmod,20,6)))"/>
                                                </td>
                                            </tr>
                                        </xsl:for-each>
                                    </tbody>
                                </table>
                            </xsl:if>
                            <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &lt; 1">
                                <p class="expl" style="margin-bottom: 1rem;">
                                    This XML Sitemap contains
                                    <xsl:value-of select="count(sitemap:urlset/sitemap:url)"/> URLs.
                                </p>
                                <table id="sitemap" cellpadding="3">
                                    <thead>
                                        <tr>
                                            <th width="50%">URL</th>
                                            <th width="25%">Images</th>
                                            <th width="25%">Last Updated</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
                                        <xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
                                        <xsl:for-each select="sitemap:urlset/sitemap:url">
                                            <tr>
                                                <td>
                                                    <xsl:variable name="itemURL">
                                                        <xsl:value-of select="sitemap:loc"/>
                                                    </xsl:variable>
                                                    <a href="{$itemURL}">
                                                        <xsl:value-of select="sitemap:loc"/>
                                                    </a>
                                                </td>
                                                <td>
                                                    <xsl:value-of select="count(image:image)"/>
                                                </td>
                                                <td>
                                                    <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)),concat(' ', substring(sitemap:lastmod,20,6)))"/>
                                                </td>
                                            </tr>
                                        </xsl:for-each>
                                    </tbody>
                                </table>
                            </xsl:if>
                        </div>
                    </div>

                </div>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
